#pragma once 
#include <iostream>
#include <string>
using namespace std;
#include <unistd.h>
//管理每一个子进程
class Channel
{
public:
    Channel(int wfd,int who):_wfd(wfd),_who(who){
        _name = "编号:[" + to_string(_who)  + "] 读端号:[" + to_string(_wfd) + "]";
    }
    //未来我们要发送任务编号给对应的子进程
    void Send(int& cmd){
        ::write(_wfd,&cmd,sizeof(cmd));
    }
    string& Name(){return _name;}
    //关闭对应的写端
    void Close(){
        ::close(_wfd);
    }
    //未来我们需要等待子进程, 就需要获得它的进程id
    int Who() {
        return _who; 
    }
private:
    int _wfd; //子进程的写端, 我们父进程要通过这个向子进程发送任务
    int _who; //保存子进程的id
    string _name;
};